package pe.gob.osce.sirenas.svc;

import java.util.List;
import java.util.Map;

import javax.ejb.Local;

import pe.gob.osce.sirenas.model.AcreditacionDTO;
import pe.gob.osce.sirenas.model.AreaProfesionDTO;
import pe.gob.osce.sirenas.model.AuditoriaDTO;
import pe.gob.osce.sirenas.model.CapacitacionDTO;
import pe.gob.osce.sirenas.model.CentroEstudiosDTO;
import pe.gob.osce.sirenas.model.DocenciaDTO;
import pe.gob.osce.sirenas.model.EspecialidadAcademicaDTO;
import pe.gob.osce.sirenas.model.ExperienciaLaboralDTO;
import pe.gob.osce.sirenas.model.FichaArbitralDTO;
import pe.gob.osce.sirenas.model.FormacionAcademicaDTO;
import pe.gob.osce.sirenas.model.MateriaControversiaDTO;
import pe.gob.osce.sirenas.model.PaisDTO;
import pe.gob.osce.sirenas.model.ParametrosDTO;
import pe.gob.osce.sirenas.model.TrayectoriaArbitralDTO;
import pe.gob.osce.sirenas.model.jpa.TrayectoriaArbitral;

@Local
public interface RegistrarFichaArbitroServiceLocal {


	public	Map<String,List<FormacionAcademicaDTO>> obtenerMapaFichaFormacionAcademica(Long idFicha)
			throws Exception;
	///****************************************

	public FichaArbitralDTO generarFichaArbitral(FichaArbitralDTO fichaArbitralDTO,AuditoriaDTO auditoriaDTO)throws Exception ;
	public	FichaArbitralDTO obtenerFichaArbitral(FichaArbitralDTO fichaArbitralDTO) throws Exception ;
	public	List<FormacionAcademicaDTO> obtenerFichaFormacionAcademica(Long idficha) throws Exception;
	public	List<EspecialidadAcademicaDTO> obtenerFichaExpecialidadAcademica(Long idficha) throws Exception;
	public	List<DocenciaDTO> obtenerFichaDocencia(Long idficha) throws Exception;
	public	List<CapacitacionDTO> obtenerFichaCapacitacion(Long idficha) throws Exception;
	public	List<TrayectoriaArbitralDTO> obtenerFichaTrayectoria(Long idficha,String tipArbitraje) throws Exception;
	public	List<ExperienciaLaboralDTO> obtenerFichaExpLaboral(Long idficha) throws Exception;
	
	
	public List<FormacionAcademicaDTO> 	guardarListaFormacionAcademica(List<FormacionAcademicaDTO> listformacionAcademicaDTO,AuditoriaDTO auditoriaDTO,Long idPersona)throws Exception;	
	public List<EspecialidadAcademicaDTO> 	guardarListaEspecialidadAcademica(List<EspecialidadAcademicaDTO> especialidadAcademicaDTO,AuditoriaDTO auditoriaDTO,Long idPersona)throws Exception;	
	public List<CapacitacionDTO> 	guardarListaCapacitacion(List<CapacitacionDTO> capacitacionDTO,AuditoriaDTO auditoriaDTO,Long idPersona)throws Exception;	
	public List<DocenciaDTO> 	guardarDocencia(List<DocenciaDTO> docenciaDTO,AuditoriaDTO auditoriaDTO,Long idPersona)throws Exception;
	public List<TrayectoriaArbitralDTO> 	guardarTrayectoria(List<TrayectoriaArbitralDTO> TrayectoriaDTO,AuditoriaDTO auditoriaDTO,Long idPersona)throws Exception;
	public List<ExperienciaLaboralDTO> 	guardarExpLaboral(List<ExperienciaLaboralDTO> expLaboralDTO,AuditoriaDTO auditoriaDTO,Long idPersona)throws Exception;
	
	
	public List<TrayectoriaArbitral> insertListTrayecotoria( List<TrayectoriaArbitral> listTrayectoriaArbitral) throws Exception;	
	public List<ParametrosDTO> obtenerListaParametros() throws Exception;
	public List<AreaProfesionDTO> obtenerListaAreaProfesion() throws Exception;
	public List<CentroEstudiosDTO> obtenerListaCentroEstudios() throws Exception;
	public List<PaisDTO> obtenerListaPais() throws Exception;
	public List<MateriaControversiaDTO> obtenerListaMateriaControversia() throws Exception;

	public	List<AcreditacionDTO> obtenerListaAcreditaciones(Long idFicha) throws Exception;
	public	AcreditacionDTO guardarAcreditacion(AcreditacionDTO acreditacionDTO,AuditoriaDTO auditoriaDTO) throws Exception; 
	
	/***   Historiales  ***/
	
	public	List<FormacionAcademicaDTO> consultarHistorialFormacionAcademica(Long idFormacionAcademica) throws Exception;
	public	List<EspecialidadAcademicaDTO> consultarHistorialEspecialidadAcademica(Long idEspecialidadAcademica) throws Exception;
	public	List<CapacitacionDTO> consultarHistorialCapacitacion(Long idCapacitacion) throws Exception;
	public	List<DocenciaDTO> consultarHistorialDocencia(Long idDocencia) throws Exception;
	public	List<TrayectoriaArbitralDTO> consultarHistorialTrayectoriaArbitral(Long idTrayectoriaArbitral) throws Exception;
	public	List<ExperienciaLaboralDTO> consultarHistorialExperienciaLaboral(Long idExperienciaLaboral) throws Exception;
	
	
	}
